﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Security.Cryptography;

namespace Ferreteria
{
    public partial class frmLogin : Form
    {
        public bool validado = false;
        public string categoria = "C";

        public frmLogin()
        {
            InitializeComponent();
        }

        private void btnAcceder_Click(object sender, EventArgs e)
        {
            MD5 md5Hash = MD5.Create();

            byte[] pass = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(txbPass.Text));

            DisancoEntities context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);

            Usuarios usuario = context.Usuarios.FirstOrDefault(u => u.usuario_nombre == txbUsuario.Text);

            if (usuario != null)
            {
                this.validado = true;
                for (int i = 0; i < 16; i++)
                {
                    if (pass[i] != usuario.usuario_pass[i])
                    {
                        this.validado = false;
                        break;
                    }
                }

                if (validado)
                {
                    this.categoria = usuario.usuario_categoria;
                    this.Close();
                }
                else
                    MessageBox.Show("Password ingresada es Incorrecta","Advertencia",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("El Usuario ingresado no existe","Advertencia",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
        }
        
        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txbUsuario_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btnAcceder.PerformClick();
            }
        }

        private void txbPass_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                btnAcceder.PerformClick();
            }
        }
    }
}
